/** * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.seyren.integrationtests.mongo; import java.io.File; import java.io.FileFilter; import java.util.Collection; import org.apache.commons.io.FileUtils; import org.apache.commons.io.filefilter.DirectoryFileFilter; import org.apache.commons.io.filefilter.FileFilterUtils; import org.apache.commons.io.filefilter.SuffixFileFilter; import org.junit.Test; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBObject; import com.mongodb.Mongo; import com.mongodb.MongoClient; import com.mongodb.util.JSON; /** * Load mongodb before jetty starts */ public class MongoDbIT { @Test public void testPopulateMongoDb() throws Exception { Mongo mongo = new MongoClient("localhost", 27017); DB db = mongo.getDB("seyren"); File[] collections = readCollectionDirectory(); for (File collection : collections) { Collection<File> jsonFiles = readJsonFiles(collection); loadJsonFiles(collection, jsonFiles, db); } } private File[] readCollectionDirectory() { return new File(this.getClass().getResource(".").getPath()).listFiles((FileFilter) FileFilterUtils.directoryFileFilter()); } private Collection<File> readJsonFiles(File collection) { Collection<File> files = FileUtils.listFiles( collection, new SuffixFileFilter(".json"), DirectoryFileFilter.DIRECTORY ); System.out.println(files); return files; } private void loadJsonFiles(File collection, Collection<File> jsonFiles, DB db) throws Exception { String collectionName = collection.getName(); DBCollection collectionMongoDb = db.getCollection(collectionName); for (File jsonFile : jsonFiles) { String json = FileUtils.readFileToString(jsonFile); DBObject dbObject = (DBObject) JSON.parse(json); collectionMongoDb.insert(dbObject); } // DBCursor cursorDoc = collectionMongoDb.find(); // while (cursorDoc.hasNext()) { // System.out.println(cursorDoc.next()); // } } }